package com.yayun.merchant.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

@Data
public class OmsOrder {
    /** 订单id */
    private Long id;
    
    /** 订单编号 */
    private String orderSn;
    
    /** 支付id */
    private Long payId;
    
    /** 用户ID */
    private Long userId;
    
    /** 用户帐号 */
    private String username;
    
    /** 订单总金额 */
    private BigDecimal totalAmount;
    
    /** 采购价 */
    private BigDecimal purchasePrice;
    
    /** 应付金额（实际支付金额） */
    private BigDecimal payAmount;
    
    /** 运费金额 */
    private BigDecimal freightAmount;
    
    /** 支付方式：0->未支付；1->支付宝；2->微信 */
    private Integer payType;
    
    /** 订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单 */
    private Integer status;
    
    /** 退款状态，枚举值：1：无售后或售后关闭，2：售后处理中，3：退款中，4： 退款成功 */
    private Integer aftersaleStatus;
    
    /** 物流公司(配送方式) */
    private String deliveryCompany;
    
    /** 物流单号 */
    private String deliverySn;
    
    /** 自动确认时间（天） */
    private Integer autoConfirmDay;
    
    /** 收货人姓名 */
    private String receiverName;
    
    /** 收货人电话 */
    private String receiverPhone;
    
    /** 收货人邮编 */
    private String receiverPostCode;
    
    /** 省份/直辖市 */
    private String receiverProvince;
    
    /** 城市 */
    private String receiverCity;
    
    /** 区 */
    private String receiverDistrict;
    
    /** 省份/直辖市id */
    private Long receiverProvinceId;
    
    /** 城市id */
    private Long receiverCityId;
    
    /** 区id */
    private Long receiverDistrictId;
    
    /** 详细地址 */
    private String receiverDetailAddress;
    
    /** 订单备注 */
    private String note;
    
    /** 商家备注 */
    private String merchantNote;
    
    /** 确认收货状态：0->未确认；1->已确认 */
    private Integer confirmStatus;
    
    /** 删除状态：0->未删除；1->已删除 */
    private Boolean deleteStatus;
    
    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;
    
    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryTime;
    
    /** 确认收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiveTime;
    
    /** 创建人 */
    private Long createBy;
    
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    
    /** 修改人 */
    private Long updateBy;
    
    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    
    /** 收件人手机号密文 */
    private String receiverPhoneEncrypted;
    
    /** 使用的优惠券id */
    private Long memberCouponId;
    
    /** 优惠券金额 */
    private BigDecimal couponAmount;
    
    /** 订单商品列表 */
    private List<OmsOrderItem> items;
}